GuardDuty で UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS が発報された時の確認ポイント
困っていること
Amazon GuardDuty を利用しています。
AWS 環境とオンプレミス環境を通信可能な状態にしています。
EC2 から外部へ通信する際には、社内ネットワークを経由するようにルーティングしています。
ある日、下記が検出されました。
- UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS
こちらに対して、どのような対応を行うべきでしょうか。
どう対応すればいいの?
当該の検出タイプが出る条件は下記となります。
- AWS 環境内のEC2インスタンスで作成された一時的な AWS 認証情報を使用して、外部のホストが AWS APIオペレーションを実行しようとした場合。
そのため、IP アドレスが何であるかをチェックする必要があります。
- IP アドレスが未知の IP アドレスであった場合
- 対応が必要
- IP アドレスが社内ネットワークの NAT であった場合
- 想定された挙動であることから、抑制ルールを作成する。
抑制ルールの条件は下記を指定してください。
- Finding type: UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS
- API Caller IPv4 address: 社内ネットワークの NAT の IP アドレス
参考資料
引用部は英語ドキュメントの機械翻訳となります。
GuardDuty IAM finding types - Amazon GuardDuty
この検出結果は、ネットワークがインターネット トラフィックをルーティングするように設定されていて、トラフィックが VPC インターネット ゲートウェイ (IGW) からではなくオンプレミス ゲートウェイから出力される場合に生成されます。AWS Outpostsや VPC VPN 接続の使用などの一般的な設定では、トラフィックがこのようにルーティングされる可能性があります。これが想定される動作である場合は、抑制ルールを使用して、2 つのフィルター条件で構成されるルールを作成することをお勧めします。
修復の推奨事項:この検出結果は、ネットワークがインターネット トラフィックをルーティングするように設定されていて、トラフィックが VPC インターネット ゲートウェイ (IGW) からではなくオンプレミス ゲートウェイから出力される場合に生成されます。AWS Outpostsや VPC VPN 接続の使用などの一般的な設定では、トラフィックがこのようにルーティングされる可能性があります。これが想定される動作である場合は、抑制ルールを使用して、2 つのフィルター条件で構成されるルールを作成することをお勧めします。最初の条件は検出タイプで、UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS である必要があります。2 番目のフィルター条件は、オンプレミス インターネット ゲートウェイの IP アドレスまたは CIDR 範囲を含むAPI 呼び出し元 IPv4 アドレスです。抑制ルールの作成の詳細については、 「GuardDuty の抑制ルール」を参照してください。
Creating suppression rules in GuardDuty - Amazon GuardDuty
ぎりぎり20分で話しきる Amazon GuardDuty による脅威検知
GuardDuty 検出結果タイプ「InstanceCredentialExfiltration」のトラブルシューティング | AWS re:Post